const formatTime = date => {
    const year = date.getFullYear()
    const month = date.getMonth() + 1
    const day = date.getDate()
    const hour = date.getHours()
    const minute = date.getMinutes()
    const second = date.getSeconds()

    return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

const formatNumber = n => {
    n = n.toString()
    return n[1] ? n : '0' + n
}

const http = (url, method, data, cb, header = {}) => {
  const openid = wx.getStorageSync('openid');
  return new Promise((resolve, reject) => {
    wx.request({
      url: `https://ssl.zhaodaka.net/zwb/api${url}`,
      method,
      data: { ...{ openid }, ...data },
      header: { ...header },
      success(res) {
        if (!res.data.code) resolve(res.data);
        if (res.data.code == 200) resolve(res.data.data);
        if (res.data.code == -99) {
          wx.clearStorageSync();
          wx.redirectTo({
            // url: '/pages/user-info/user-info'
          })
        }
        reject(res.data);
      },
      fail(e) {
        reject(e);
      },
      complete() {
        wx.hideLoading();
        if (cb) cb();
      },
    });
  });
}


module.exports = {
    formatTime: formatTime,
    http: http,
    dateFormat: function (fmt, date) {
        var o = {
            "M+": date.getMonth() + 1,                 //月份   
            "d+": date.getDate(),                    //日   
            "h+": date.getHours(),                   //小时   
            "m+": date.getMinutes(),                 //分   
            "s+": date.getSeconds(),                 //秒   
            "q+": Math.floor((date.getMonth() + 3) / 3), //季度   
            "S": date.getMilliseconds()             //毫秒   
        };
        if (/(y+)/.test(fmt))
            fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
        for (var k in o)
            if (new RegExp("(" + k + ")").test(fmt))
                fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        return fmt;
    },

    getRpcUrl(url) {
        return getApp().reqBasePath + url
    },
    urlEncode(param, encode = true) {
        if (param == null) return '';
        var paramAry = [];
        for (var i in param) {
            paramAry.push(i + '=' + (encode ? encodeURIComponent(param[i]) : param[i]))
        }
        return paramAry.join('&');
    },
}
